#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <assert.h>
#include <stdlib.h>

typedef int DataType;

typedef struct SListNode
{
    DataType data;
    struct SListNode* next;
}SLTNode;

//申请节点
SLTNode* ListByNode(DataType index);

//头插
void SLTPushFront(SLTNode** pphead,DataType index);

//尾插
void SLTPushBack(SLTNode** pphead,DataType index);

//头删
void SLTPopFront(SLTNode** pphead);

//尾删
void SLTPopBack(SLTNode** pphead);

//指定位置之前插入
void SLTInsert(SLTNode** pphead,DataType index,SLTNode* pos);

//指定位置删除
void SLTErase(SLTNode** pphead,SLTNode* pos);

//打印链表
void SLTPrint(SLTNode** pphead);

//链表的查找
SLTNode* SLTFind(SLTNode** pphead,DataType index);

//链表的销毁
void SLTDestory(SLTNode** pphead);
